package num24;

/**
 * @author : DuJiabao
 * @Date : 2021/1/23 19:47
 * @Project : sword-finger-offer
 * @File : null.java
 * @Desc :定义一个函数，输入一个链表的头节点，反转该链表并输出反转后链表的头节点。
 * https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/

 */
class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode new_head=null, next=null;
        while(head != null){
            next = head.next;  //保存当前头节点后面的一个节点，防止丢失
            head.next = new_head;  // 最关键一步，当前头节点指向之前的一个头结点
            new_head = head; // 然后新的头结点可以保存当前头结点了
            head = next;  // 当前头结点往后移动
        }
        return new_head;
    }
}
